<form id="form_bon_livraison" >
    <div class="span12">
        <div class="box gradient">
            <div class="title" style="text-align: center">
                <h4>Livraison de  {{boncommande}}</h4>
            </div>

            <div class="content noPad clearfix">
                <table style="width: 100%">
                    <tr>
                        <td style="width: 20%">
                            <label>Date:</label>
                            <div>
                                    {{ form_widget(form.date)}}{{ form_widget(form._token)}}
                                    <input id="now" type="text" style="width: 70px;" readonly/>
                                    <img src="/images/start.jpg" height="30" width="30" style="display: none;" id="start"> 
                                    <img src="/images/previous.jpg" height="30" width="30" style="display: none;" id="prev"> 
                                </div>
                            </td>
                            <td  style="width: 20%">
                                <label>Fournisseur:</label>
                                <div  style="width: 200px">
                                    <label>{{boncommande.fournisseur}}<input type="hidden" name="gds_achatbundle_bonlivraisonfournisseurtype[fournisseur]" value="{{boncommande.fournisseur.id}}"/></label>
                                    </div> 
                                </td>
                                <td  style="width: 20%">
                                    <label>Departement:</label>
                                    <div style="width: 200px">
                                    {{ render(controller('GdsVenteBundle:Devis:getAllDepartement')) }}
                                        </div> 
                                    </td>
                                    <td style="width: 20%">
                                        <label>Facturable:</label>
                                        <input id="facturable" type="checkbox">
                                    </td>
                                    <td  style="width: 40%">
                                        <label>Numero BL:</label>
                                {{ form_widget(form.reference,{'attr':{'class':'span8 text','style':'width:200px'}})}}
                                    </td>
                                </tr>
                            </table>

                        </div> 
                    </div>
                </div>
            </form>

            <div class="span12" style="margin-left:0">
                <table>
                    <tr>
                        <td id="td_familles">
                            <input type="text" id="familles" style="width:100%"/>
                        </td>
                        <td id="td_sous_familles">
                            <input type="text" id="sous_familles" style="width:100%"/>
                        </td>
                        <td id="td_articles">
                            <input type="text" id="articles" style="width:100%"/>
                        </td>
                    </tr>
                </table>
                <div class="box gradient">
                    <div class="content noPad clearfix">
                        <table id="table_bonlivraison" cellpadding="0" cellspacing="0" border="0" class="responsive  display table table-bordered" width="100%">
                            <thead>
                                <tr >
                                    <th>N°</th>
                                    <th>Reference</th>
                                    <th>Designation</th>
                                    <th>Qte</th>
                                    <th>P.U.HT</th>
                                    <th>TVA</th>
                                    <th>Remise</th>
                                    <th>P.U.TTC</th>
                                    <th id="th_total" style="width:10%">Total</th>
                                    <th id="ok"></th>
                                </tr>
                            </thead>
                            <tbody id="gds_achatbundle_lignebonlivraisonfournisseurtype">
                            </tbody>
                        </table>
                    </div>
                </div>
                <div class="span2" style="margin-left:83%">
                    <div class="content noPad clearfix">
                        <table cellpadding="0" cellspacing="0" border="1px" class="responsive  display table table-bordered" width="100%" style="border:#D0E9F5 ">
                            <thead>
                                <tr >
                                    <th class="center" style="text-align: center">TOTAL TTC</th>
                                    <th id="total_ttc" class="center">0.000</th>
                                </tr>
                            </thead>
                        </table>
                    </div>
                </div>
            </div>
    {# Ajout d'un lien pour ajouter un champ cat�gorie suppl�mentaire. #}
            <div class="span2" style="margin-left:0">
                <div class="box gradient">
                    <div class="content noPad clearfix">
                        <table id="taxe" cellpadding="0" cellspacing="0" border="0" class="responsive  display table table-bordered" width="100%">
                            <thead>
                                <tr>
                                    <th>Taxe</th>
                                    <th>Base</th>
                                    <th>Montant</th>
                                </tr>
                            </thead>
                            <tbody id="taxe_body">
                                <tr id="tr_taxe_18">
                                    <td id="taxe_18">18%</td>
                                    <td id="base_18">0.000</td>
                                    <td id="montant_taxe_18">0.000</td>
                                </tr>
                                <tr>
                                    <td>Totaux</td>
                                    <td></td>
                                    <td id="total_taxe">0.000</td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
            <div class="span2" style="margin-right: 0">
                <table>
                    <tr>
                        <td style="text-align: center">
                            <input type="button" style="width:100px" id="submit_form_bon_livraison" value="Enregistrer" class="nostyle btn btn-success btn-large" />
                        </td>
                        <td style="text-align: center">
                            <input type="button" style="width:100px" id="submit_form_bon_livraison_print" value="Imprimer" onclick="EnregistrerImprimer()" class="nostyle btn btn-success btn-large" />
                        </td>
                    </tr>
                    <tr>
                        <td style="height: 20px"></td>
                    </tr>
                    <tr>
                        <td>
                            <input id="retour2" style="width:100px" type="button" class="btn btn-info cut-icon-previous"  value="Retour" onclick="retourListeBonLivraison2()">
                        </td>
                    </tr>
                </table>
            </div>
            <script>
                Array.prototype.remove = function(v) {
                this.splice(this.indexOf(v) == -1 ? this.length : this.indexOf(v), 1);
            }
            changerFournisseur()
            function changerFournisseur() {
                                    $('#td_articles').html('<input id="articles" type="text" style="width: 100%; display: none;">')
                                    $.ajax({
                                        url: '{{path('gds_achat_get_all_articles')}}',
                                        datatype: 'json',
                                        data: 'fournisseur_id={{bon_livraison.fournisseur.id}}',
                                        success: function(data) {
                                            $("#articles").tokenInput(data, {
                                                onAdd: function(item) {
                                                    $('.token-input-token').hide()
                                                    var article = getArticle(item.id)

                                                    if (!article) {
                                                        add_ligne()
                                                        var article = item.name.split(' : ');
                                                        var reference = article[0]
                                                        var designation = article[1]
                                                        item.index = articles.length
                                                        articles.push(item)

                                                        var id = index - 1
                                                        $('#td_reference_' + id).html(reference)
                                                        $('#td_designation_' + id).html(designation)
                                                        $('#gds_achatbundle_' + id + '_article').val(item.id)
                                                        remplir_ligne(id, item)
                                                    } else {
                                                        id = article.index
                                                    }
                                                    $('#gds_achatbundle_' + id + '_quantite').focus()
                                                },
                                            });
                                        }
                                    })
                                }
            index = 0;
            nb_article = 1;
            // var index_array = Array();
            articles = new Array();
            // On r�cup�re la balise <div> en question qui contient l'attribut � data-prototype � qui nous int�resse
            $container = $('#gds_achatbundle_lignebonlivraisonfournisseurtype');

                                function add_ligne() {
                                    // On d�finit le num�ro du champ (en comptant le nombre de champs d�j� ajout�s)
                                    //index = $container.children().length;
                                    var td_num = '<td class="numero_ligne" style="padding:0;text-align:center" id="td_num_' + index + '">' + nb_article + '</td>';
                                    var hidden_stock = '<input id="gds_achatbundle_' + index + '_article" type="hidden"/>';
                                    var td_reference = '<td style="padding:0;width:10%" id="td_reference_' + index + '"></td>';
                                    var td_designation = '<td style="padding:0;width:30%" id="td_designation_' + index + '"></td>';
                                    var td_qte = '<td style="padding:0;width:10%" id="td_qte_' + index + '"><input  class="quantite" style="padding:2%;width:80%" type="text" id="gds_achatbundle_' + index + '_quantite" type="text" value="1" onkeyup="Test(this)"></td>';
                                    var td_prix_unitaire_ht = '<td style="padding:0" id="td_prix_unitaire_ht_' + index + '"><input  class="prix_uitaire_ht" style="padding:2%;width:80%" type="text" id="gds_achatbundle_' + index + '_prix_unitaire_ht" type="text" value="1" onkeyup="Test(this)"></td>';
                                    var td_tva = '<td style="padding:0" id="td_tva_' + index + '">18.00%</td>';
                                    var td_remise = '<td style="padding:0;width:10%" id="td_remise_' + index + '"><input class="remise" style="padding:2%;width:80%" type="text" id="gds_achatbundle_' + index + '_taux_remise" type="text" value="0" onkeyup="Test(this)"></td>';
                                    var td_prix_u_ttc = '<td style="padding:0" id="td_prix_u_ttc_' + index + '"></td>';
                                    var td_total = '<td style="padding:0;width:10%" id="td_total_' + index + '">0.000</td>';
                                    var td_delete = '<td style="padding:0" ><img src="/images/icons/delete.png" id="delete_ligne_' + index + '" onclick="delete_ligne(' + index + ')"></td>'
                                    var tr_contenu = td_num + td_reference + td_designation + hidden_stock + td_qte + td_prix_unitaire_ht + td_tva + td_remise + td_prix_u_ttc + td_total + td_delete;
                                    var tr = $('<tr id="tr_' + index + '">' + tr_contenu + '</tr>')
                                    $container.append(tr);
                                    index++
                                    nb_article++
                                    b = tr.attr('id')
                                    b = b.split('_')
                                    b = b[1]

                                    $('#gds_achatbundle_' + b + '_quantite').spinner({
                                        min: 0,
                                        max: 10000,
                                        step: 1,
                                        places: 2,
                                        showOn: 'both'
                                    });
                                    $('#gds_achatbundle_' + b + '_quantite').keyup(function() {
                                        var i = $(this).attr('id');
                                        i = i.split('_');
                                        i = i[2];
                                        quantite = $(this).val();
                                        var article = getArticle($('#gds_achatbundle_' + i + '_article').val())
                                        article.quantite = quantite
                                        prix_achat_ht = article.prix_achat;
                                        tva = article.taux_tva;
                                        remise = article.remise;
                                        puttc = prix_achat_ht
                                        puttc *= (1 + tva / 100)
                                        puttc *= (1 - remise / 100)
                                        $('#td_prix_u_ttc_' + i).html(puttc.toFixed(3));
                                        total = puttc * quantite
                                        $('#td_total_' + i).html(total.toFixed(3));
                                        RefraichirTaxe()
                                    });
                                    $('#gds_achatbundle_' + b + '_quantite').change(function() {
                                        var i = $(this).attr('id');
                                        i = i.split('_');
                                        i = i[2];
                                        quantite = $(this).val();
                                        var article = getArticle($('#gds_achatbundle_' + i + '_article').val())
                                        article.quantite = quantite
                                        prix_achat_ht = article.prix_achat;
                                        tva = article.taux_tva;
                                        remise = article.remise;
                                        puttc = prix_achat_ht
                                        puttc *= (1 + tva / 100)
                                        puttc *= (1 - remise / 100)
                                        $('#td_prix_u_ttc_' + i).html(puttc.toFixed(3));
                                        total = puttc * quantite
                                        $('#td_total_' + i).html(total.toFixed(3));
                                        RefraichirTaxe()
                                    });
                                    $('#gds_achatbundle_' + b + '_quantite').blur(function() {
                                        $('#gds_achatbundle_' + b + '_prix_unitaire_ht').focus()
                                    })
                                    $('#gds_achatbundle_' + b + '_prix_unitaire_ht').spinner({
                                        min: 0,
                                        max: 10000,
                                        step: 1,
                                        places: 3,
                                        showOn: 'both'
                                    });
                                    $('#gds_achatbundle_' + b + '_prix_unitaire_ht').keyup(function() {
                                        var i = $(this).attr('id');
                                        i = i.split('_');
                                        i = i[2];
                                        doRPrixUnitaireChange(i)
                                        RefraichirTaxe()
                                    });
                                    $('#gds_achatbundle_' + b + '_prix_unitaire_ht').change(function() {
                                        var i = $(this).attr('id');
                                        i = i.split('_');
                                        i = i[2];
                                        doRPrixUnitaireChange(i)
                                        RefraichirTaxe()
                                    });
                                    $('#gds_achatbundle_' + b + '_prix_unitaire_ht').blur(function() {
                                        $('#gds_achatbundle_' + b + '_taux_remise').focus()
                                    });
                                    $('#gds_achatbundle_' + b + '_taux_remise').spinner({
                                        min: 0,
                                        max: 100,
                                        step: 1,
                                        places: 2,
                                        showOn: 'both'
                                    });
                                    $('#gds_achatbundle_' + b + '_taux_remise').keyup(function() {
                                        var i = $(this).attr('id');
                                        i = i.split('_');
                                        i = i[2];
                                        doRemiseChange(i)
                                        RefraichirTaxe()
                                    });
                                    $('#gds_achatbundle_' + b + '_taux_remise').change(function() {
                                        var i = $(this).attr('id');
                                        i = i.split('_');
                                        i = i[2];
                                        doRemiseChange(i)
                                        RefraichirTaxe()
                                    });
                                    $('#gds_achatbundle_' + b + '_taux_remise').blur(function() {
                                        if (!$('.msgBoxTitle').html())
                                            $('#articles').focus()
                                    })

                                    refraichir()
                                }
                                function remplir_ligne(id, item) {
                                    $('#gds_achatbundle_'+id+'_taux_remise').val(item.remise)
                                    $('#gds_achatbundle_' + id + '_prix_unitaire_ht').val(item.prix_achat)
                                    $('#td_tva_' + id).html(item.taux_tva + '%')
                                }
                                function delete_ligne(index) {
                                    var article = getArticle($('#gds_achatbundle_' + index + '_article').val())
                                    var cmp_delete = 0
                                    var article_deleted = false
                                    while (!article_deleted && cmp_delete < articles.length) {
                                        if (articles[cmp_delete] == article) {
                                            articles.splice(cmp_delete, 1)
                                            article_deleted = true
                                        }
                                        cmp_delete++
                                    }
                                    $('#tr_' + index).remove();
                                    $('.token-input-list li').each(function() {
                                        var name = article.reference + ' : ' + article.designation
                                        if ($(this).children("p").html() == name)
                                            $(this).remove()
                                    })
                                    refraichir()
                                    RefraichirTaxe()
                                }
                                function refraichir() {
                                    i = 1
                                    $('.numero_ligne').each(function() {
                                        $(this).html(i)
                                        i++
                                    })
                                }
                                function getArticle(id) {
                                    for (i = 0; i < articles.length; i++) {
                                        if (articles[i].id == id) {
                                            return articles[i]
                                        }
                                    }
                                    return null
                                }
                                 function RefraichirTaxe() {
                                    var rowCount = $('#gds_achatbundle_lignebonlivraisonfournisseurtype tr').length
                                    var total_ttc = 0
                                    var taux_tva = new Array();
                                    var taxes = new Array();
                                    for (i = 0; i < rowCount; i++) {
                                        taxes[i] = new Array()
                                        taxes[i]['tva'] = 0
                                        taxes[i]['base'] = 0
                                        taxes[i]['montant'] = 0
                                    }
                                    var cmp = 0
                                    var i_refraich = 0
                                    while (cmp < rowCount) {
                                        if ($('#td_total_' + i_refraich).html() != null) {
                                            var tva = parseFloat($('#td_tva_' + i_refraich).html())
                                            if (parseFloat($('#td_total_' + i_refraich).html()) > 0) {
                                                j = $.inArray(tva, taux_tva)
                                                if (j == -1) {
                                                    taux_tva.push(tva)
                                                    j = $.inArray(tva, taux_tva)
                                                }
                                                ttc = parseFloat($('#td_total_' + i_refraich).html())
                                                total_ttc += ttc
                                                ht = ttc / (1 + tva / 100)
                                                montant = ht * tva / 100
                                                taxes[j]['tva'] = tva
                                                taxes[j]['base'] += ht
                                                taxes[j]['montant'] += montant
                                            }
                                            cmp++
                                        }
                                        i_refraich++
                                    }
                                    taxes = TriTab(taux_tva, taxes)
                                    $('#taxe_body tr').remove()
                                    var totaux = 0
                                    for (i = 0; i < taux_tva.length; i++) {
                                        tva = taxes[i]['tva'].toFixed(2)
                                        totaux += taxes[i]['montant']
                                        $('#taxe_body').append('<tr id="tr_taxe_' + tva + '"><td id="taxe_' + tva + '">' + tva + '%</td><td id="base_' + tva + '">' + taxes[i]['base'].toFixed(3) + '</td><td id="montant_taxe_' + tva + '">' + taxes[i]['montant'].toFixed(3) + '</td></tr>');
                                    }
                                    $('#taxe_body').append('<tr><td>Totaux</td><td></td><td id="total_taxe">' + totaux.toFixed(3) + '</td></tr>');
                                    $('#total_ttc').html(total_ttc.toFixed(3))
                                   
                                }
                                function doRemiseChange(i) {
                                    var article = getArticle($('#gds_achatbundle_' + i + '_article').val())
                                    article.remise = $('#gds_achatbundle_' + i + '_taux_remise').val()
                                    quantite = article.quantite;
                                    prix_achat_ht = article.prix_achat;
                                    tva = article.taux_tva;
                                    puttc = prix_achat_ht
                                    puttc *= (1 + tva / 100)
                                    puttc *= (1 - article.remise / 100)
                                    $('#td_prix_u_ttc_' + i).html(puttc.toFixed(3));
                                    total = puttc * quantite
                                    $('#td_total_' + i).html(total.toFixed(3));
                                }
                                function doRPrixUnitaireChange(i) {
                                    var article = getArticle($('#gds_achatbundle_' + i + '_article').val())
                                    article.prix_achat = $('#gds_achatbundle_' + i + '_prix_unitaire_ht').val()
                                    quantite = article.quantite;
                                    prix_achat_ht = article.prix_achat;
                                    tva = article.taux_tva;
                                    puttc = prix_achat_ht
                                    puttc *= (1 + tva / 100)
                                    puttc *= (1 - article.remise / 100)

                                    $('#td_prix_u_ttc_' + i).html(puttc.toFixed(3));
                                    total = puttc * quantite
                                    $('#td_total_' + i).html(total.toFixed(3));
                                }
                                function time() {
                                    var time = new Date($.now())
                                    h = time.getHours() // 0-24 format
                                    m = time.getMinutes()
                                    s = time.getSeconds()
                                    $('#heure').val(s + m * 60 + h * 3600)
                                    if (h < 10)
                                        h = '0' + h
                                    if (m < 10)
                                        m = '0' + m
                                    if (s < 10)
                                        s = '0' + s
                                    $('#now').val(h + ':' + m + ':' + s)
                                }
                                $(document).ready(function() {
                                    familles = []
                                    sous_familles = []
                                    $.ajax({
                                        url: '{{path('gds_vente_get_all_familles')}}',
                                        datatype: 'json',
                                        success: function(data) {
                                            $('#familles').tokenInput(data, {
                                                preventDuplicates: true,
                                                onAdd: function(item) {
                                                    familles[familles.length] = item.id
                                                    chercherSousFamilles()
                                                    chercherArticles('famille')
                                                },
                                                onDelete: function(item) {
                                                    familles.splice($.inArray(item.id, familles), 1);
                                                    chercherSousFamilles()
                                                    chercherArticles('famille')
                                                },
                                            });
                                        }
                                    })
                                    $('#sous_familles').tokenInput('', {
                                        preventDuplicates: true
                                    });
                                })
                                function chercherSousFamilles() {
                                    $('#td_sous_familles ul').remove()
                                    $.ajax({
                                        url: '{{path('gds_vente_get_sous_familles_where_familles')}}', datatype: 'json',
                                        data: 'familles={"familles":' + JSON.stringify(familles) + '}',
                                        success: function(data) {
                                            $('#td_sous_familles ul').remove()
                                            $('#sous_familles').tokenInput(data, {
                                                preventDuplicates: true,
                                                onAdd: function(item) {
                                                    sous_familles[sous_familles.length] = item.id
                                                    chercherArticles('sous')
                                                },
                                                onDelete: function(item) {
                                                    sous_familles.splice($.inArray(item.id, sous_familles), 1);
                                                    chercherArticles('sous')
                                                },
                                            });
                                        }
                                    })
                                }
                                function chercherArticles(from) {
                                    if (from == 'famille')
                                        sous_familles = []
                                    $('#td_articles ul').remove()
                                    $.ajax({
                                        url: '{{path('gds_achat_get_articles_where_familles')}}',
                                        data: 'familles={"familles":' + JSON.stringify(familles) + ',"sous_familles":' + JSON.stringify(sous_familles) + '}&fournisseur_id=' + $('#gds_achatbundle_bonlivraisonfournisseurtype_fournisseur').val(),
                                        datatype: 'json',
                                        success: function(data) {
                                            $('#td_articles ul').remove()
                                            $("#articles").tokenInput(data, {
                                                onAdd: function(item) {
                                                    $('#td_articles .token-input-token').hide()
                                                    var article = getArticle(item.id)
                                                    if (!article) {
                                                        add_ligne()
                                                        var article = item.name.split(' : ');
                                                        var reference = article[0]
                                                        var designation = article[1]
                                                        item.index = articles.length
                                                        articles.push(item)

                                                        var id = index - 1
                                                        $('#td_reference_' + id).html(reference)
                                                        $('#td_designation_' + id).html(designation)
                                                        $('#gds_achatbundle_' + id + '_article').val(item.id)
                                                        remplir_ligne(id, item)
                                                    } else {
                                                        id = article.index
                                                    }
                                                    $('#gds_achatbundle_' + id + '_quantite').focus()
                                                },
                                            });
                                        }
                                    })
                                }
                                function Test(obj) {
                                    var data = obj.value;
                                    var d = data.substring(0, data.length - 1)
                                    var index_virgule = data.indexOf('.')
                                    if (index_virgule > 0)
                                        apres_virgule = data.substring(data.indexOf('.') + 1, data.length)
                                    if (!TestVerif(data) || apres_virgule.length > 3)
                                        obj.value = d
                                }
                                function TestVerif(decimal) {
                                    var entier = "0123456789"
                                    var virgule = false
                                    var first_number = false
                                    for (index_verif = 0; index_verif < decimal.length; index_verif++) {
                                        if (entier.indexOf(decimal[index_verif]) < 0) {
                                            if (decimal[index_verif] == '.' && first_number) {
                                                if (virgule)
                                                    return false
                                                else
                                                    virgule = true
                                            } else {
                                                return false
                                            }
                                        } else {
                                            first_number = true
                                        }
                                    }
                                    return true
                                }
                                function EnregistrerImprimer() {
                                    imprimer()
                                    Enregistrer()
                                }
                                function imprimer() {
                                    alert('impression')

                                }
                                function inverser(tab, i, j, tab2) {
                                    temp = tab[i];
                                    base = tab2[i]['base']
                                    montant = tab2[i]['montant']
                                    tva = tab2[i]['tva']
                                    tab[i] = tab[j];
                                    tab[j] = temp;
                                    tab2[i]['base'] = tab2[j]['base']
                                    tab2[j]['base'] = base
                                    tab2[i]['montant'] = tab2[j]['montant']
                                    tab2[j]['montant'] = montant
                                    tab2[i]['tva'] = tab2[j]['tva']
                                    tab2[j]['tva'] = tva
                                }
                                function TriTab(tab, tab2) {
                                    n = tab.length;
                                    continuer = true;
                                    i = 0;
                                    iter = 0;
                                    while (continuer) {
                                        iter++;
                                        continuer = false;
                                        for (i = 0; i < n - 1; i++) {
                                            if (Math.max(tab[i], tab[i + 1]) != tab[i + 1]) {
                                                inverser(tab, i, i + 1, tab2);
                                                continuer = true;
                                            }
                                        }
                                    }
                                    return tab2;
                                }
                </script>
                <style>
                        .red {
                            color: red;
                            font-size: 18px;
                        }
                        .green{
                            color : green;
                        }
                    </style>
        </div>
    </div>
    <script type="text/javascript">


        $(document).ready(function() {
            $('#departement').val({{app.user.departement.id}})
            $('#departement').attr('disabled', true);
            $('#gds_achatbundle_bonlivraisonfournisseurtype_date').datepicker();
            $('#retour2').hide()
            var fullDate = new Date();
            var twoDigitMonth = fullDate.getMonth()
            twoDigitMonth++
            twoDigitMonth += "";
            if (twoDigitMonth.length == 1)
                twoDigitMonth = "0" + twoDigitMonth;
            var twoDigitDate = fullDate.getDate() + "";
            if (twoDigitDate.length == 1)
                twoDigitDate = "0" + twoDigitDate;
            var currentDate = twoDigitDate + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
            $("#gds_achatbundle_bonlivraisonfournisseurtype_date").val(currentDate)
            setInterval(time, 1000);
            $('#form_bon_livraison').validate();
            $('#submit_form_bon_livraison').click(function() {
                $('#gds_achatbundle_bonlivraisonfournisseurtype_reference').focus()
                if ($('#form_bon_livraison').valid()) {
                    $.ajax({
                        url: '{{path("gds_bon_commande_fournisseur_livrer")}}',
                        type: "POST",
                        datatype: 'json',
                        data: $('#form_bon_livraison').serialize() + '&articles={"articles":' + JSON.stringify(articles) + '}&heure=' + $('#heure').val() + '&facturable=' + $('#facturable').is(':checked') + '&departement=' + $("#departement option:selected").text()+'&id={{boncommande.id}}',
                        success: function(data) {
                            if (data.success) {
                                $.msgBox({
                                    title: "Bon Livraison",
                                    content: "Enregistrement Effectué avec succés",
                                    type: "info",
                                    buttons: [{value: "OK"}],
                                    success: function(result) {
                                        location.reload();
                                    }
                                });
                            } else {
                                $.msgBox({
                                    title: "Bon Livraison",
                                    content: "Erreur D'enregistrement",
                                    type: "error",
                                    buttons: [{value: "OK"}]
                                });
                            }
                        },
                        error: function(e) {
                            $.msgBox({
                                title: "Bon Livraison",
                                content: "Erreur D'enregistrement",
                                type: "error",
                                buttons: [{value: "OK"}],
                                success: function(result) {

                                }
                            });
                        }
                    })
                }
            })
{% for l,ligne in lignes %}
            add_ligne()
            $('#td_reference_' +{{l}}).html('{{ligne.reference}}')
            $('#td_designation_' +{{l}}).html('{{ligne.designation}}')
            $('#gds_achatbundle_' +{{l}} + '_quantite').val('{{ligne.quantite|number_format(2)}}')
            $('#gds_achatbundle_' + {{l}}+'_prix_unitaire_ht').val('{{ligne.prix_achat}}')
            tva_twig = {{ligne.taux_tva}}
            tva_twig = tva_twig.toFixed(2)
            $('#td_tva_' +{{l}}).html(tva_twig + '%')
            $('#gds_achatbundle_' +{{l}} + '_taux_remise').val('{{ligne.remise}}')
            $('#gds_achatbundle_' +{{l}} + '_article').val('{{ligne.id}}')
            var x = new Object();
            x.reference = $('#td_reference_' + {{l}}).html()
            x.designation = $('#td_designation_' + {{l}}).html()
            x.taux_tva = '{{ligne.taux_tva}}'
            x.remise = '{{ligne.remise}}'
            x.quantite = '{{ligne.quantite}}'
            x.prix_achat='{{ligne.prix_achat}}'
            x.name = x.reference + ' : ' + x.designation
            x.id = '{{ligne.id}}'
            x.index='{{l}}'
            articles[{{l}}] = x
            completerChamp('{{l}}')
            RefraichirTaxe()
            {% endfor %}
            function completerChamp(i) {
            var article = getArticle($('#gds_achatbundle_' + i + '_article').val())
            quantite = article.quantite;
            prix_achat = article.prix_achat;
            tva = article.taux_tva;
            remise = article.remise;
            puttc = prix_achat
            puttc *= (1 + tva / 100)
            puttc *= (1 - remise / 100)
            $('#td_prix_u_ttc_' + i).html(puttc.toFixed(3));
            total = puttc * quantite
            $('#td_total_' + i).html(total.toFixed(3));
            $('#gds_achatbundle_' + i + '_taux_remise').spinner({
                min: 0,
                max: 99,
                step: 1,
                places: 2,
                showOn: 'both'
            });
        }

        });
        $(document).ready(function() {
            $('#show_article').click(function() {
                art = ""
                for (i = 0; i < articles.length; i++)
                    alert(articles[i].id + "   " + articles[i].reference + "  " + articles[i].quantite + "  " + articles[i].remise)
            })
        })

        </script>

        <input type="hidden" id="heure"/>
        <input type="button" value="article" id="show_article">
 